1. Technical Field
This invention relates to a method and system for installation and configuration of distributed software in a computer system. More specifically, the invention relates to employing correlation information in a configuration management database to facilitate selection and installation of distributed software.
2. Description of the Prior Art
A configuration management database (CMDB) is a repository of information related to all the components of an information system. Although repositories similar to CMDBs have been used by information technology (IT) departments for many years, the term CMDB stems from information technology infrastructure library (ITIL), which is a framework of best practice approaches intended to facilitate the delivery of high quality information technology services. In the ITIL context, a CMDB represents the authorized configuration of the significant components of the IT environment. A CMDB helps an organization understand the relationships between these components and track their configuration. The CMDB is a fundamental component of the ITIL framework's configuration management process. CMDB implementations often involve the insertion of data into the CMDB from other sources in such a way that the source of the data retains control of the data.
The CMDB records configuration items (CIs) and details about the important attributes and relationships between CIs. Configuration managers usually describe CIs using three configurable attributes: technical, ownership, and relationship. The CMDB is integral to configuration management. It enables the consistent, accurate, and cost-effective identification, control, status accounting, and verification of all CIs in the CMDB. The CMDB provides accurate information about hardware, software, and current configuration that enables automated software releases, as well as back-out procedures and project scheduling.
When two systems are merged into a new system, it is necessary to conduct a preliminary survey to analyze the hardware and software components for each application to determine their location and role in the new system prior to installation of the applications in the merged systems. In addition, it is necessary to determine whether additional hardware or software will be necessary to maintain performance of the system after installation. To determine the most optimized installation and configuration for complex distributed software, it is necessary to investigate how many possible options exist and to compare these options in order to estimate the result of installation and configuration.
Conventionally, a method is provided to automatically select the system in which software is installed. Japanese Abstract JP 2006-99307 to Soichi et al. is an example of a method of selecting software for installation whereby the installation is based on the dependencies between software components. Other prior art examples includes, Japanese Abstract JP2006-11860 to Akira et al. which provides a function to properly judge the kind of resources lacking according to the operation condition of the system and to dynamically configure those resources, and Japanese Abstract JP 2006-216780 to Makoto et al., whereby a function is employed to detect and execute the configuration changes of a firewall tunneling based on the network configuration of the current network device. However, these prior art solutions do not address the need for a system to simulate one or more configuration options prior to implementing a system modification or component installation. By employing a simulator prior to altering the system configuration and/or deployment of new components, it may be ascertained whether such a deployment will improve system performance.
Therefore, there is a need for a solution that employs a simulator tool to provide detailed information about the implications of installation of a component or modification of a system prior to the installation or modification thereof. Such a tool should mitigate costs associated with implementing modifications to a system if it can be determined if the proposed modification will not provide the anticipated or desired system configuration and/or improvement.